﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AmazonMODEL
{
    #region ClothingAccessories
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class ClothingAccessories
    {

        private ClothingAccessoriesVariationData variationDataField;

        private ClothingAccessoriesClassificationData classificationDataField;

        /// <remarks/>
        public ClothingAccessoriesVariationData VariationData
        {
            get
            {
                return this.variationDataField;
            }
            set
            {
                this.variationDataField = value;
            }
        }

        /// <remarks/>
        public ClothingAccessoriesClassificationData ClassificationData
        {
            get
            {
                return this.classificationDataField;
            }
            set
            {
                this.classificationDataField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ClothingAccessoriesVariationData
    {

        private ClothingAccessoriesVariationDataParentage parentageField;

        private bool parentageFieldSpecified;

        private string sizeField;

        private string colorField;

        private ClothingAccessoriesVariationDataVariationTheme variationThemeField;

        private bool variationThemeFieldSpecified;

        /// <remarks/>
        public ClothingAccessoriesVariationDataParentage Parentage
        {
            get
            {
                return this.parentageField;
            }
            set
            {
                this.parentageField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ParentageSpecified
        {
            get
            {
                return this.parentageFieldSpecified;
            }
            set
            {
                this.parentageFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Size
        {
            get
            {
                return this.sizeField;
            }
            set
            {
                this.sizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        public ClothingAccessoriesVariationDataVariationTheme VariationTheme
        {
            get
            {
                return this.variationThemeField;
            }
            set
            {
                this.variationThemeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VariationThemeSpecified
        {
            get
            {
                return this.variationThemeFieldSpecified;
            }
            set
            {
                this.variationThemeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ClothingAccessoriesVariationDataParentage
    {

        /// <remarks/>
        parent,

        /// <remarks/>
        child,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ClothingAccessoriesVariationDataVariationTheme
    {

        /// <remarks/>
        Size,

        /// <remarks/>
        Color,

        /// <remarks/>
        SizeColor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ClothingAccessoriesClassificationData
    {

        private string departmentField;

        private string colorMapField;

        private string specialSizeTypeField;

        private string[] specialFeatureField;

        private string[] materialAndFabricField;

        private string materialOpacityField;

        private string fabricWashField;

        private string patternStyleField;

        private string fitTypeField;

        private string waterResistanceLevelField;

        private string apparelClosureTypeField;

        private string buttonQuantityField;

        private string controlTypeField;

        private string occasionAndLifestyleField;

        private string styleNameField;

        private string collarTypeField;

        private string sleeveTypeField;

        private string cuffTypeField;

        private string pocketDescriptionField;

        private string frontPleatTypeField;

        private string topStyleField;

        private string bottomStyleField;

        private string sizeMapField;

        private ClothingSizeDimension waistSizeField;

        private ClothingSizeDimension inseamLengthField;

        private ClothingSizeDimension sleeveLengthField;

        private ClothingSizeDimension neckSizeField;

        private string neckStyleField;

        private ClothingSizeDimension chestSizeField;

        private ClothingAccessoriesClassificationDataCupSize cupSizeField;

        private bool cupSizeFieldSpecified;

        private string underwireTypeField;

        private string shoeWidthField;

        private LengthDimension itemRiseField;

        private string riseStyleField;

        private LengthDimension legDiameterField;

        private string legStyleField;

        private string beltStyleField;

        private string strapTypeField;

        private string toeStyleField;

        private string themeField;

        private string characterField;

        private string laptopCapacityField;

        private bool isStainResistantField;

        private bool isStainResistantFieldSpecified;

        private string numberOfPiecesField;

        private string wheelTypeField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Department
        {
            get
            {
                return this.departmentField;
            }
            set
            {
                this.departmentField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SpecialSizeType
        {
            get
            {
                return this.specialSizeTypeField;
            }
            set
            {
                this.specialSizeTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecialFeature", DataType = "normalizedString")]
        public string[] SpecialFeature
        {
            get
            {
                return this.specialFeatureField;
            }
            set
            {
                this.specialFeatureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MaterialAndFabric", DataType = "normalizedString")]
        public string[] MaterialAndFabric
        {
            get
            {
                return this.materialAndFabricField;
            }
            set
            {
                this.materialAndFabricField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaterialOpacity
        {
            get
            {
                return this.materialOpacityField;
            }
            set
            {
                this.materialOpacityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FabricWash
        {
            get
            {
                return this.fabricWashField;
            }
            set
            {
                this.fabricWashField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PatternStyle
        {
            get
            {
                return this.patternStyleField;
            }
            set
            {
                this.patternStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FitType
        {
            get
            {
                return this.fitTypeField;
            }
            set
            {
                this.fitTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string WaterResistanceLevel
        {
            get
            {
                return this.waterResistanceLevelField;
            }
            set
            {
                this.waterResistanceLevelField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ApparelClosureType
        {
            get
            {
                return this.apparelClosureTypeField;
            }
            set
            {
                this.apparelClosureTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "nonNegativeInteger")]
        public string ButtonQuantity
        {
            get
            {
                return this.buttonQuantityField;
            }
            set
            {
                this.buttonQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ControlType
        {
            get
            {
                return this.controlTypeField;
            }
            set
            {
                this.controlTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OccasionAndLifestyle
        {
            get
            {
                return this.occasionAndLifestyleField;
            }
            set
            {
                this.occasionAndLifestyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StyleName
        {
            get
            {
                return this.styleNameField;
            }
            set
            {
                this.styleNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CollarType
        {
            get
            {
                return this.collarTypeField;
            }
            set
            {
                this.collarTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SleeveType
        {
            get
            {
                return this.sleeveTypeField;
            }
            set
            {
                this.sleeveTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string CuffType
        {
            get
            {
                return this.cuffTypeField;
            }
            set
            {
                this.cuffTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PocketDescription
        {
            get
            {
                return this.pocketDescriptionField;
            }
            set
            {
                this.pocketDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FrontPleatType
        {
            get
            {
                return this.frontPleatTypeField;
            }
            set
            {
                this.frontPleatTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string TopStyle
        {
            get
            {
                return this.topStyleField;
            }
            set
            {
                this.topStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BottomStyle
        {
            get
            {
                return this.bottomStyleField;
            }
            set
            {
                this.bottomStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SizeMap
        {
            get
            {
                return this.sizeMapField;
            }
            set
            {
                this.sizeMapField = value;
            }
        }

        /// <remarks/>
        public ClothingSizeDimension WaistSize
        {
            get
            {
                return this.waistSizeField;
            }
            set
            {
                this.waistSizeField = value;
            }
        }

        /// <remarks/>
        public ClothingSizeDimension InseamLength
        {
            get
            {
                return this.inseamLengthField;
            }
            set
            {
                this.inseamLengthField = value;
            }
        }

        /// <remarks/>
        public ClothingSizeDimension SleeveLength
        {
            get
            {
                return this.sleeveLengthField;
            }
            set
            {
                this.sleeveLengthField = value;
            }
        }

        /// <remarks/>
        public ClothingSizeDimension NeckSize
        {
            get
            {
                return this.neckSizeField;
            }
            set
            {
                this.neckSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string NeckStyle
        {
            get
            {
                return this.neckStyleField;
            }
            set
            {
                this.neckStyleField = value;
            }
        }

        /// <remarks/>
        public ClothingSizeDimension ChestSize
        {
            get
            {
                return this.chestSizeField;
            }
            set
            {
                this.chestSizeField = value;
            }
        }

        /// <remarks/>
        public ClothingAccessoriesClassificationDataCupSize CupSize
        {
            get
            {
                return this.cupSizeField;
            }
            set
            {
                this.cupSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CupSizeSpecified
        {
            get
            {
                return this.cupSizeFieldSpecified;
            }
            set
            {
                this.cupSizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string UnderwireType
        {
            get
            {
                return this.underwireTypeField;
            }
            set
            {
                this.underwireTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ShoeWidth
        {
            get
            {
                return this.shoeWidthField;
            }
            set
            {
                this.shoeWidthField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemRise
        {
            get
            {
                return this.itemRiseField;
            }
            set
            {
                this.itemRiseField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string RiseStyle
        {
            get
            {
                return this.riseStyleField;
            }
            set
            {
                this.riseStyleField = value;
            }
        }

        /// <remarks/>
        public LengthDimension LegDiameter
        {
            get
            {
                return this.legDiameterField;
            }
            set
            {
                this.legDiameterField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string LegStyle
        {
            get
            {
                return this.legStyleField;
            }
            set
            {
                this.legStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BeltStyle
        {
            get
            {
                return this.beltStyleField;
            }
            set
            {
                this.beltStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string StrapType
        {
            get
            {
                return this.strapTypeField;
            }
            set
            {
                this.strapTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ToeStyle
        {
            get
            {
                return this.toeStyleField;
            }
            set
            {
                this.toeStyleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Theme
        {
            get
            {
                return this.themeField;
            }
            set
            {
                this.themeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Character
        {
            get
            {
                return this.characterField;
            }
            set
            {
                this.characterField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string LaptopCapacity
        {
            get
            {
                return this.laptopCapacityField;
            }
            set
            {
                this.laptopCapacityField = value;
            }
        }

        /// <remarks/>
        public bool IsStainResistant
        {
            get
            {
                return this.isStainResistantField;
            }
            set
            {
                this.isStainResistantField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IsStainResistantSpecified
        {
            get
            {
                return this.isStainResistantFieldSpecified;
            }
            set
            {
                this.isStainResistantFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string NumberOfPieces
        {
            get
            {
                return this.numberOfPiecesField;
            }
            set
            {
                this.numberOfPiecesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string WheelType
        {
            get
            {
                return this.wheelTypeField;
            }
            set
            {
                this.wheelTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ClothingAccessoriesClassificationDataCupSize
    {

        /// <remarks/>
        A,

        /// <remarks/>
        AA,

        /// <remarks/>
        B,

        /// <remarks/>
        C,

        /// <remarks/>
        D,

        /// <remarks/>
        DD,

        /// <remarks/>
        DDD,

        /// <remarks/>
        E,

        /// <remarks/>
        EE,

        /// <remarks/>
        F,

        /// <remarks/>
        FF,

        /// <remarks/>
        G,

        /// <remarks/>
        GG,

        /// <remarks/>
        H,

        /// <remarks/>
        I,

        /// <remarks/>
        J,

        /// <remarks/>
        Free,
    }
    #endregion
}
